Systems and Methods for Shape Input and Output for a Haptically-Enabled Deformable Surface

ABSTRACT

One illustrative computing device disclosed herein includes a first sensor configured to detect a position associated with a deformable surface and transmit a sensor signal associated with the position; and a processor in communication with the sensor, the processor configured to: receive the sensor signal; determine a haptic effect based at least in part on the sensor signal; and transmit a haptic signal associated with the haptic effect. The illustrative computing device also includes a haptic output device in communication with the processor, the haptic output device configured to receive the haptic signal and output the haptic effect.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 15/496,678, filed Apr. 25, 2017 and entitled“Systems and Methods for Shape Input and Output for a Haptically-EnabledDeformable Surface,” which is a continuation of U.S. patent applicationSer. No. 14/465,005, filed Aug. 21, 2014 and entitled “Systems andMethods for Shape Input and Output for a Haptically-Enabled DeformableSurface,” the entirety of each of which is hereby incorporated byreference herein.

FIELD OF THE INVENTION

The present invention relates to the field of user interface devices.More specifically, the present invention relates to shape input andoutput for a haptically-enabled deformable surface.

BACKGROUND

As computer-based systems become more prevalent, the quality of theinterfaces through which humans interact with these systems is becomingincreasingly important. One interface that is of growing popularity dueto its intuitive and interactive nature is the touchscreen display.Through a touchscreen display, a user can perform a variety of tasks bycontacting a region of the touchscreen with the user's finger. To createa more intuitive and enhanced user experience, designers often leverageuser experience with physical interactions. This is generally done byreproducing some aspects of interactions with the physical world throughvisual, audio, and/or haptic feedback (e.g., a mechanical vibration).

Recently, computing devices have been developed that are deformable.These deformable devices can be bent, squeezed, flexed, twisted, folded,and/or rolled. There is a need for additional interfaces for thesedeformable computing devices.

SUMMARY

Embodiments of the present disclosure comprise shape input and outputfor a haptically-enabled deformable surface. In one embodiment, acomputing device of the present disclosure may comprise: a sensorconfigured to detect a position associated with a deformable surface andtransmit a sensor signal comprising data associated with the position;and a processor in communication with the sensor, the processorconfigured to: receive the sensor signal; determine a haptic effectbased at least in part on the sensor signal; and transmit the hapticsignal. The computing device may also comprise a haptic output device incommunication with the processor, the haptic output device configured toreceive the haptic signal and output the haptic effect.

In another embodiment, a method of the present disclosure may comprise:receiving a sensor signal associated with a position associated with adeformable surface; determining a haptic effect based at least in parton the sensor signal; and transmitting the haptic signal to a hapticoutput device. Yet another embodiment comprises a computer-readablemedium for implementing such a method.

These illustrative embodiments are mentioned not to limit or define thelimits of the present subject matter, but to provide examples to aidunderstanding thereof. Further embodiments are discussed in the DetailedDescription, and additional description is provided there. Advantagesoffered by various embodiments may be further understood by examiningthis specification and/or by practicing one or more embodiments of theclaimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

A full and enabling disclosure is set forth more particularly in theremainder of the specification. The specification makes reference to thefollowing appended figures.

FIG. 1 is a block diagram showing a system for shape input and outputfor a haptically-enabled deformable surface according to one embodiment;

FIG. 2 is another block diagram showing a system for shape input andoutput for a haptically-enabled deformable surface according to anotherembodiment;

FIG. 3A shows an embodiment of a system for shape input and output for ahaptically-enabled deformable surface;

FIG. 3B shows another embodiment of a system for shape input and outputfor a haptically-enabled deformable surface;

FIG. 3C shows still another embodiment of a system for shape input andoutput for a haptically-enabled deformable surface;

FIG. 4 shows an embodiment of a system for shape input and output for ahaptically-enabled deformable surface;

FIG. 5 shows another embodiment of a system for shape input and outputfor a haptically-enabled deformable surface;

FIG. 6 shows an embodiment of a system for shape input and output for ahaptically-enabled deformable surface;

FIG. 7 shows another embodiment of a system for shape input and outputfor a haptically-enabled deformable surface;

FIG. 8 shows still another embodiment of a system for shape input andoutput for a haptically-enabled deformable surface;

FIG. 9 shows an embodiment of a system for shape input and output for ahaptically-enabled deformable surface;

FIG. 10 shows another embodiment of a system for shape input and outputfor a haptically-enabled deformable surface;

FIG. 11 shows an embodiment of a system for shape input and output for ahaptically-enabled deformable surface;

FIG. 12 shows another embodiment of a system for shape input and outputfor a haptically-enabled deformable surface;

FIG. 13 shows still another embodiment of a system for shape input andoutput for a haptically-enabled deformable surface;

FIG. 14 is a flow chart of steps for performing a method for providingshape input for a haptically-enabled deformable surface according to oneembodiment;

FIG. 15 is a flow chart of steps for performing a method for providingshape output for a haptically-enabled deformable surface according toanother embodiment; and

FIG. 16 shows an embodiment of a system for shape input and output for ahaptically-enabled deformable surface.

DETAILED DESCRIPTION

Reference will now be made in detail to various and alternativeillustrative embodiments and to the accompanying drawings. Each exampleis provided by way of explanation, and not as a limitation. It will beapparent to those skilled in the art that modifications and variationscan be made. For instance, features illustrated or described as part ofone embodiment may be used in another embodiment to yield a stillfurther embodiment.

Thus, it is intended that this disclosure include modifications andvariations as come within the scope of the appended claims and theirequivalents.

Illustrative Examples of Shape Input and Output for a Haptically-EnabledDeformable Surface

One illustrative embodiment of the present disclosure comprises acomputing device configured with a deformable touch-screen display. Thecomputing device may be, for example, a smartphone, tablet, laptopcomputer, pocket organizer, or portable music player. Further, thecomputing device and/or the touch-screen display may be flexible,foldable, bendable, twistable, stretchable, squeezable, rollable, and/orotherwise deformable.

In the illustrative embodiment, the computing device includes adeformation sensor (e.g., a strain gauge) for detecting userinteractions with the computing device and providing sensor signalsassociated with the interactions to a processor in the computing device.A user interaction may comprise, for example, bending, twisting,squeezing, rolling, or folding the computing device. Further, in theillustrative embodiment, the computing device includes a position sensor(e.g., a global positioning system unit or gyroscope) for determiningthe position of the computing device in real space, or with respect toan object, and providing one or more sensor signals associated with theposition to the processor. An object, as used herein, is anything withwhich the computing device may potentially interact. For example, insome embodiments, an object may comprise a remote device (e.g., anothercomputing device, a tablet, laptop computer, desktop computer, e-reader,mobile phone, wearable device, smart device, person, or body part), avirtual object (e.g., output by an augmented reality application), or adata source (e.g., a person, animal, or automobile).

In the illustrative embodiment, the computing device determines, basedat least in part on the user interaction, a function to perform. Afunction, as used herein, comprises a task associated with anapplication executing on the computing device and/or a remote device.For instance, in some embodiments, a function may comprise manipulatinga virtual object (e.g., a virtual button, slider, image, or widget)based on user input, selecting a program option or setting, recording asound, outputting a sound, performing a calculation, sending data, orreceiving data associated with an application. Further, in theillustrative embodiment, the computing device determines, based at leastin part on the position, an object to associate with the function. Thecomputing device may then execute the function.

For example, in the illustrative embodiment, the computing devicecomprises a microphone and a music recording application. The user maywish to record a sound, for example, a song playing in a coffee shop. Inthe illustrative embodiment, to begin recording the sound, the user maypoint the computing device in the direction of a speaker in the coffeeshop and bend the computing device into a cone shape. The computingdevice may detect the cone shape and begin recording. Further, thecomputing device may detect the directionality and/or orientation of thecomputing device and determine, for example, that the sound coming fromthe speaker is the sound the user wishes to record. Thus, the computingdevice may filter sounds from other sources, such as speech from othercoffee house patrons, sounds from cars in the parking lot, or soundsfrom other computing devices in the vicinity (e.g., music from anotherpatron's laptop computer or MP3 player). When the user wishes to finishrecording, the user may unbend the computing device. The computingdevice may detect the change in the shape of the computing device andstop recording the music. Thus, the user may be able to intuitivelyinteract with the computing device, such as to record music, bymanipulating the shape and/or direction of the computing device.

In the illustrative embodiment, the computing device further comprises ahaptic output device. The computing device may provide haptic feedbackto a user in response to an event. An event, as used herein, is anyinteraction, action, collision, or other event which occurs duringoperation of the computing device which can potentially comprise anassociated haptic effect. In some embodiments, an event may compriseuser input (e.g., a button press; manipulating a joystick; interactingwith a touch-sensitive surface; tilting or orienting the computingdevice; or flexing, bending, or otherwise deforming the computingdevice), a system status (e.g., low battery, low memory, or a systemnotification, such as a notification generated based on the systemreceiving an incoming call), sending data, receiving data, or a programevent. For example, in the illustrative embodiment, the computing deviceoutputs a haptic effect comprising a rumble vibration (e.g., a lowmagnitude, long-duration vibration) when the computing device beginsrecording. This may indicate to the user that recording has begun and/oris ongoing. Further, the computing device outputs a pulsed vibrationwhen the computing device ends recording. Thus, in the illustrativeembodiment, haptic feedback may provide confirmation to the user that anoperation has been initiated, is ongoing, or has been completed.

Another illustrative embodiment comprises a computing device configuredto determine a function based at least in part on a system mode. Asystem mode, as used herein, is an operational state of the computingdevice. For example, in some embodiments, a system mode may comprisereceiving data (e.g., user input or data from a remote device),transmitting data, recording sound, outputting sound, executing afunction, displaying data (e.g., on the touch-screen display), orawaiting user input. Further, in the illustrative embodiment, thecomputing device determines, based at least in part on the position, anobject to associate with the function. The computing device may thenexecute the function.

For example, in the illustrative embodiment, the computing devicecomprises a mobile device (e.g., a smart phone). The user may wish touse the computing device to conduct a conference call (i.e., a phonecall with multiple attendees). The user may press a speaker-phone buttonon the computing device to initiate a speaker phone mode (e.g., thecomputing device may increase the sound output volume and the inputsensitivity of a microphone associated with the computing device) on thecomputing device. Further, the user may place the computing device on aconference room table in an office so that other people near the tablecan engage in the conference call. In the illustrative embodiment, thecomputing device may determine its position and orientation in realspace (e.g., in the conference room and/or on the conference roomtable). Based on the speaker phone mode and the position of thecomputing device in real space, the computing device may execute afunction, for example, calling a plurality of pre-designated conferencecall participants in other offices.

Further, in the illustrative embodiment, the computing device outputs ahaptic effect associated with the system mode. For example, thecomputing device may output a haptic effect configured to deform thephysical shape of the computing device, e.g., by bending the shape ofthe computing device into an arch. The arch may indicate to the userthat the computing device is in a speaker phone mode. In theillustrative embodiment, once the conference call is complete (e.g., thecomputing device determines that the phone call has ended), thecomputing device may output a haptic effect configured to change itsshape back to its original, unbent shape. This may indicate to the userthat the computing device is no longer in the speaker phone mode and/orthat the conference call has ended.

The description of the illustrative embodiment above is provided merelyas an example. Various other embodiments of the present invention aredescribed herein and variations of such embodiments would be understoodby one of skill in the art. Advantages offered by various embodimentsmay be further understood by examining this specification and/or bypracticing one or more embodiments of the claimed subject matter.

Illustrative Systems for Shape Input for a Haptically-Enabled DeformableSurface

FIG. 1 is a block diagram showing a computing device 101 for ahaptically-enabled deformable surface according to one embodiment. Inthis example, the computing device 101 is flexible, foldable, bendable,twistable, squeezable, stretchable, rollable, and/or otherwisedeformable. In some embodiments, the computing device 101 may comprisetwo or more rigid components coupled by one or more hinges. Thecomputing device 101 may deform by pivoting the two or more rigidcomponents about the one or more hinges.

The computing device 101 may comprise, for example, a smartphone,tablet, e-reader, laptop computer, portable gaming device, or a wearabledevice. In some embodiments, the wearable device may comprise a shoe, anarmband, a sleeve, a jacket, glasses, a glove, a ring, a watch, awristband, a bracelet, an article of clothing, a hat, a headband, and/orjewelry. While computing device 101 is shown as a single device in FIG.1, in other embodiments, the computing device 101 may comprise multipledevices, for example, as shown in FIG. 2.

In this example, the computing device 101 comprises a processor 102interfaced with other hardware via bus 106. A memory 104, which cancomprise any suitable tangible (and non-transitory) computer-readablemedium such as RAM, ROM, EEPROM, or the like, may embody programcomponents that configure operation of the computing device 101. In someembodiments, the computing device 101 may further comprise one or morenetwork interface devices 110, input/output (I/O) interface components112, and additional storage 114.

Network device 110 can represent one or more of any components thatfacilitate a network connection. Examples include, but are not limitedto, wired interfaces such as Ethernet, USB, IEEE 1394, and/or wirelessinterfaces such as IEEE 802.11, Bluetooth, or radio interfaces foraccessing cellular telephone networks (e.g., transceiver/antenna foraccessing a CDMA, GSM, UMTS, or other mobile communications network).

I/O components 112 may be used to facilitate connection to devices suchas one or more displays, keyboards, mice, speakers, microphones,buttons, and/or other hardware used to input data or output data.Storage 114 represents nonvolatile storage such as read-only memory,flash memory, ferroelectric RAM (F-RAM), magnetic, optical, or otherstorage media included in the computing device 101 or coupled toprocessor 102.

In some embodiments, the computing device 101 further includes a touchsensitive surface 116, which, in this example, is integrated intocomputing device 101. In other embodiments, the computing device 101 maynot comprise the touch sensitive surface 116. Touch sensitive surface116 represents any surface that is configured to sense tactile input ofa user. One or more touch sensors 108 are configured to detect a touchin a touch area when an object contacts a touch sensitive surface 116and provide appropriate data for use by processor 102. Any suitablenumber, type, or arrangement of sensors can be used. For example,resistive and/or capacitive sensors may be embedded in touch sensitivesurface 116 and used to determine the location of a touch and otherinformation, such as pressure, speed, and/or direction. As anotherexample, optical sensors with a view of the touch sensitive surface 116may be used to determine the touch position.

In other embodiments, the touch sensor 108 may comprise a LED (LightEmitting Diode) detector. For example, in one embodiment, touchsensitive surface 116 may comprise a LED finger detector mounted on theside of a display. In some embodiments, the processor 102 is incommunication with a single touch sensor 108, in other embodiments, theprocessor 102 is in communication with a plurality of touch sensors 108,for example, a first touch-screen and a second touch screen. The touchsensor 108 is configured to detect user interaction, and based on theuser interaction, transmit signals to processor 102. In someembodiments, touch sensor 108 may be configured to detect multipleaspects of the user interaction. For example, touch sensor 108 maydetect the speed and pressure of a user interaction, and incorporatethis information into the interface signal.

In some embodiments, computing device 101 may include a touch enableddisplay that combines a touch sensitive surface 116 and a display of thedevice. The touch sensitive surface 116 may correspond to the displayexterior or one or more layers of material above components of thedisplay. Further, in some embodiments, the touch sensitive surface 116may be rollable, bendable, foldable, stretchable, twistable, squeezable,or otherwise deformable. For example, the touch sensitive surface 116may comprise a bendable electronic paper. In other embodiments, touchsensitive surface 116 may not comprise (or otherwise correspond to) adisplay, depending on the particular configuration of the computingdevice 101.

The computing device 101 also comprises a position sensor 132. Theposition sensor 132 is configured to detect a position of the computingdevice 101 in real space and/or with respect to an object (e.g., a realor virtual object). The position sensor 132 is further configured totransmit a sensor signal associated with the position to processor 102.In some embodiments, the position sensor 132 may comprise a gyroscope,camera, radio frequency identification system, indoor proximity system,accelerometer, GPS unit, magnetometer, ultrasonic transducer, wirelessinterface (e.g., an IEEE 802.11 or Bluetooth interface), infraredsensors, a depth sensor or range sensor. For example, the positionsensor 132 may comprise a wireless interface and be configured detectthe strength of a wireless signal emitted by an object. The positionsensor 132 may transmit a sensor signal associated with the wirelesssignal strength to the processor 102. Based on the wireless signalstrength, the processor 102 may determine, for example, whether thecomputing device 101 is within a predefined distance of the object. Asanother example, the position sensor 132 may comprise a cameraconfigured to take one or more pictures of an object. The positionsensor 132 may transmit a sensor signal associated with the one or morepictures to the processor 102. Based on the sensor signal, the processormay determine the position (e.g., the distance or orientation) of theobject with respect to the computing device 101. In some embodiments,the processor 132 may further determine one or more characteristics(e.g., the type, height, width, size, color, or shape) of the objectbased on the sensor signal. The processor 132 may execute one or morefunctions based on the one or more characteristics.

Although the embodiment shown in FIG. 1 depicts the position sensor 132internal to computing device 101, in some embodiments, the positionsensor 132 may be external to computing device 101 (e.g., as shown inFIG. 2). For example, in some embodiments, the one or more positionsensors 132 may be associated with a wearable device.

The computing device 101 also comprises a deformation sensor 134. Thedeformation sensor 134 is configured to detect deformations (e.g.,bending, flexing, stretching, folding, twisting, squeezing, or rolling)of a surface (e.g., computing device 101). For example, the deformationsensor 134 may comprise a pressure sensor, strain gauge, or a forcesensor. The deformation sensor 134 is configured to transmit a sensorsignal to the processor 102. Although the embodiment shown in FIG. 1depicts the deformation sensor 134 internal to computing device 101, insome embodiments, the deformation sensor 134 may be external tocomputing device 101 (e.g., as shown in FIG. 2). For example, in someembodiments, the one or more deformation sensors 134 may be associatedwith a wearable device. As another example, in some embodiments, the oneor more deformation sensors 134 may comprise a range or depth sensor, a3D imaging system (e.g., the 3D imagining system commonly sold under thetrademark Microsoft Kinect ®), or a LED-based tracking system externalto the computing device 101. The range or depth sensor, 3D imaginingsystem, or LED-based tracking system may detect a deformation of asurface (e.g., the computing device 101) and transmit one or more sensorsignals associated with the deformation to the processor 102.

The computing device 101 further comprises one or more additionalsensor(s) 130. The sensor(s) 130 are configured to transmit a sensorsignal to the processor 102. In some embodiments, the sensor 130 maycomprise, for example, a camera, humidity sensor, ambient light sensor,gyroscope, GPS unit, accelerometer, range sensor or depth sensor,biorhythm sensor, or temperature sensor. Although the embodiment shownin FIG. 1 depicts the sensor 130 internal to computing device 101, insome embodiments, the sensor 130 may be external to computing device101. For example, in some embodiments, the one or more sensors 130 maybe associated with a wearable device and/or coupled to a user's body. Insome embodiments, the processor 102 may be in communication with asingle sensor 130 and, in other embodiments, the processor 102 may be incommunication with a plurality of sensors 130, for example, atemperature and a humidity sensor.

Computing device 101 further includes haptic output device 118 incommunication with processor 102. The haptic output device 118 isconfigured to output a haptic effect in response to a haptic signal. Insome embodiments, the haptic output device 118 is configured to output ahaptic effect comprising, for example, a vibration, a change in aperceived coefficient of friction, a simulated texture, a change intemperature, a stroking sensation, an electro-tactile effect, or asurface deformation (i.e., a deformation of a surface associated withthe computing device 101). Further, some haptic effects may use multiplehaptic output devices 118 of the same or different types in sequenceand/or in concert. Although a single haptic output device 118 is shownhere, embodiments may use multiple haptic output devices 118 of the sameor different type to produce haptic effects.

In the embodiment shown in FIG. 1, the haptic output device 118 is incommunication with processor 102 and internal to computing device 101.In other embodiments, the haptic output device 118 may be remote fromcomputing device 101, but communicatively coupled to processor 102, forexample, as shown in FIG. 2. For instance, haptic output device 118 maybe external to and in communication with computing device 101 via wiredinterfaces such as Ethernet, USB, IEEE 1394, and/or wireless interfacessuch as IEEE 802.11, Bluetooth, or radio interfaces. In someembodiments, the haptic output device 118 may be coupled to a wearabledevice that may be remote from the computing device 101 (e.g., as shownin FIG. 2).

In some embodiments, the haptic output device 118 may be configured tooutput a haptic effect comprising a vibration. The haptic output device118 may comprise, for example, one or more of a piezoelectric actuator,an electric motor, an electro-magnetic actuator, a voice coil, a shapememory alloy, an electro-active polymer, a solenoid, an eccentricrotating mass motor (ERM), or a linear resonant actuator (LRA).

In some embodiments, the haptic output device 118 may be configured tooutput a haptic effect modulating the perceived coefficient of frictionon the touch sensitive surface 116 in response to a haptic signal. Inone embodiment, the haptic output device 118 comprises an ultrasonicactuator. An ultrasonic actuator may vibrate at an ultrasonic frequency,for example 20 kHz, increasing or reducing the perceived coefficient atthe surface of touch sensitive surface 116. In some embodiments, theultrasonic actuator may comprise a piezo-electric material.

In some embodiments, the haptic output device 118 may use electrostaticattraction, for example by use of an electrostatic actuator, to output ahaptic effect. In such an embodiment, the haptic effect may comprise asimulated texture, a simulated vibration, a stroking sensation, or aperceived change in a coefficient of friction on a surface associatedwith computing device 101 (e.g., touch sensitive surface 116). In someembodiments, the electrostatic actuator may comprise a conducting layerand an insulating layer. The conducting layer may be any semiconductoror other conductive material, such as copper, aluminum, gold, or silver.The insulating layer may be glass, plastic, polymer, or any otherinsulating material. Furthermore, the processor 102 may operate theelectrostatic actuator by applying an electric signal, for example an ACsignal, to the conducting layer. In some embodiments, a high-voltageamplifier may generate the AC signal. The electric signal may generate acapacitive coupling between the conducting layer and an object (e.g., auser's finger, head, foot, arm, shoulder, leg, or other body part, or astylus) near or touching the haptic output device 118. In someembodiments, varying the levels of attraction between the object and theconducting layer can vary the haptic effect perceived by a user.

In some embodiments, the haptic output device 118 may comprise adeformation device configured to output a deformation haptic effect. Insome embodiments, the deformation haptic effect may comprise deformingthe surface of the touch sensitive surface 116 (e.g., raising orlowering portions of the surface of the touch sensitive surface 116). Insome embodiments, the deformation haptic effect may comprise bending,folding, rolling, twisting, squeezing, flexing, changing the shape of,or otherwise deforming the computing device 101 or a surface associatedwith the computing device 101 (e.g., the touch sensitive surface 116).That is, the deformation haptic effect may apply a force on thecomputing device 101 or a surface associated with the computing device101, causing it to bend, fold, roll, twist, squeeze, flex, change shape,or otherwise deform. Further, in some embodiments, the deformationhaptic effect may comprise preventing or resisting the computing device101 or a surface associated with the computing device 101 from bending,folding, rolling, twisting, squeezing, flexing, changing shape, orotherwise deforming.

In some embodiments, the haptic output device 118 may comprise fluidconfigured for outputting a deformation haptic effect (e.g., for bendingor deforming the computing device 101 or a surface associated with thecomputing device 101). For example, in some embodiments, the fluid maycomprise a smart gel. A smart gel may comprise a fluid with mechanicalor structural properties that change in response to a stimulus orstimuli (e.g., an electric field, a magnetic field, temperature,ultraviolet light, shaking, or a pH variation). For instance, inresponse to a stimulus, a smart gel may change in stiffness, volume,transparency, and/or color. In some embodiments, stiffness may comprisethe resistance of a surface associated with the computing device 101against deformation. In some embodiments, one or more wires may beembedded in or coupled to the smart gel. As current runs through thewires, heat is emitted, causing the smart gel to expand or contract,deforming the computing device 101 or a surface associated with thecomputing device 101. As another example, in some embodiments, the fluidmay comprise a rheological (e.g., a magneto-rheological orelectro-rheological) fluid. A rheological fluid may comprise metalparticles (e.g., iron particles) suspended in a fluid (e.g., oil orwater). In response to an electric or magnetic field, the order of themolecules in the fluid may realign, changing the overall damping and/orviscosity of the fluid. This may cause the computing device 101 or asurface associated with the computing device 101 to deform.

In some embodiments, the haptic output device 118 may comprise amechanical deformation device. For example, in some embodiments, thehaptic output device 118 may comprise an actuator coupled to an arm thatrotates a deformation component. The deformation component may comprise,for example, an oval, starburst, or corrugated shape. The deformationcomponent may be configured to move a surface associated with thecomputing device at some rotation angles but not others. The actuatormay comprise a piezo-electric actuator, rotating/linear actuator,solenoid, an electroactive polymer actuator, macro fiber composite (MFC)actuator, shape memory alloy (SMA) actuator, and/or other actuator. Asthe actuator rotates the deformation component, the deformationcomponent may move the surface, causing it to deform. In such anembodiment, the deformation component may begin in a position in whichthe surface is flat. In response to receiving a signal from processor102, the actuator may rotate the deformation component. In someembodiments, rotating the deformation component may cause one or moreportions of the surface to raise or lower. The deformation componentmay, in some embodiments, remain in this rotated state until theprocessor 102 signals the actuator to rotate the deformation componentback to its original position.

Further, other techniques or methods can be used to deform a surfaceassociated with the computing device 101. For example, in someembodiments, the haptic output device 118 may comprise a flexiblesurface layer configured to deform its surface or vary its texture basedupon contact from a surface reconfigurable haptic substrate (including,but not limited to, e.g., fibers, nanotubes, electroactive polymers,piezoelectric elements, or shape memory alloys). In some embodiments,the haptic output device 118 may be deformed, for example, with adeforming mechanism (e.g., a motor coupled to wires), air or fluidpockets, local deformation of materials, resonant mechanical elements,piezoelectric materials, micro-electromechanical systems (“MEMS”)elements or pumps, thermal fluid pockets, variable porosity membranes,or laminar flow modulation.

In some embodiments, the haptic output device 118 may be a portion ofthe housing of the computing device 101. In other embodiments, thehaptic output device 118 may be housed inside a flexible housingoverlaying a surface associated with the computing device 101 (e.g., thefront or back of the computing device 101). For example, the hapticoutput device 118 may comprise a layer of smart gel or rheological fluidpositioned over a hinge in the computing device 101 (e.g., for allowingthe computing device 101 to fold or bend). Upon actuating the hapticoutput device 118 (e.g., with an electric current or an electric field),the smart gel or rheological fluid may change its characteristics. Thismay cause the computing device 101 to fold, bend, or flex, or prevent(e.g., resist against) the computing device 101 from folding, bending,or flexing.

Turning to memory 104, program components 124, 126, and 128 are depictedto show how a device can be configured in some embodiments to provideshape input and output for a haptically-enabled deformable surface. Inthis example, a detection module 124 configures the processor 102 tomonitor the deformation sensor 134 to determine a deformation in asurface associated with the computing device 101. For example, detectionmodule 124 may sample the deformation sensor 134 to track the presenceor absence of a bend in the surface and, if a bend is present, to trackone or more of the amount, velocity, acceleration, pressure and/or othercharacteristics of the bend over time. Although the detection module 124is depicted in FIG. 1 as a program component within the memory 104, insome embodiments, the detection module 124 may comprise hardwareconfigured to monitor the deformation sensor 134 to detect or determinea bend in a surface associated with computing device 101. In someembodiments, such hardware may comprise analog to digital converters,processors, microcontrollers, comparators, amplifiers, transistors, andother analog or digital circuitry.

Haptic effect determination module 126 represents a program componentthat analyzes data regarding touch characteristics to determine a hapticeffect to generate. Particularly, haptic effect determination module 126may comprise code that determines a haptic effect to output based on anamount of flex (e.g., bending, folding, twisting, or stretching) in asurface associated with the computing device 101. The haptic effectdetermination module 126 may comprise code that selects one or morehaptic effects to output. For example, in some embodiments, bend amounts(e.g., 10 degrees, 20 degrees, 30 degrees, etc.) may be mapped tofunctions (e.g., move to the next page in a virtual book, move severalpages in the virtual book, or close the virtual book) associated with auser interface. Haptic effect determination module 126 may selectdifferent haptic effects based on the function. Alternatively, hapticeffect determination module 126 may select different haptic effectsbased on the bend amount.

In some embodiments, haptic effect determination module 126 may comprisecode that determines a haptic effect to output based on a position ofthe computing device 101 in real space or with respect to an object. Forexample, as the distance between the computing device 101 and the objectincreases, the haptic effect determination module 126 may determine ahaptic effect comprising an increasing or decreasing magnitude.

Although the haptic effect determination module 126 is depicted in FIG.1 as a program component within the memory 104, in some embodiments, thehaptic effect determination module 126 may comprise hardware configuredto determine one or more haptic effects to generate. In someembodiments, such hardware may comprise analog to digital converters,processors, microcontrollers, comparators, amplifiers, transistors, andother analog or digital circuitry.

Haptic effect generation module 128 represents programming that causesprocessor 102 to generate and transmit haptic signals to the hapticoutput device 118 to generate the selected haptic effect. For example,the haptic effect generation module 128 may access stored waveforms orcommands to send to the haptic output device 118 to create the desiredeffect. In some embodiments, the haptic effect generation module 128 maycomprise algorithms to determine the haptic signal. Further, in someembodiments, haptic effect generation module 128 may comprise algorithmsto determine target coordinates for the haptic effect (e.g., coordinatesfor a location on the touch sensitive surface 116 at which to output ahaptic effect).

Although the haptic effect generation module 128 is depicted in FIG. 1as a program component within the memory 104, in some embodiments, thehaptic effect generation module 128 may comprise hardware configured todetermine one or more haptic effects to generate. In some embodiments,such hardware may comprise analog to digital converters, processors,microcontrollers, comparators, amplifiers, transistors, and other analogor digital circuitry.

FIG. 2 is another block diagram showing a system for shape input andoutput for a haptically-enabled deformable surface according to anotherembodiment. In the embodiment shown, system 200 comprises a computingdevice 201 having a processor 202 in communication with other hardwarevia bus 206. Computing device 201 may comprise, for example, a gameconsole, laptop computer, or desktop computer.

Computing device 201 also comprises a memory 204, which comprises adetection module 224, haptic effect determination module 226, and hapticeffect generation module 228. These components may be configured tofunction in similar ways as the memory 104, detection module 124, hapticeffect determination module 126, and haptic effect generation module 128depicted in FIG. 1, respectively.

Further, computing device 201 comprises network components 210, I/Ocomponents 212, storage 214, and sensors 230. In some embodiments, thesecomponents may be configured to function in similar ways as the networkcomponents 110, I/O components 112, storage 114, and sensors 130depicted in FIG. 1, respectively. The computing device 201 alsocomprises a display 234. In some embodiments, the display 234 maycomprise a separate component, e.g., a remote monitor, television, orprojector coupled to processor 202 via a wired or wireless connection.

System 200 also includes an external device 236. In this example, theexternal device 236 is flexible, foldable, bendable, twistable,squeezable, stretchable, rollable, and/or otherwise deformable. In someembodiments, the external device 236 may comprise, for example, a gamecontroller, a phone cover, or a wearable device.

The external device 236 may comprise a processor and/or networkcomponents 210. In this example, the external device 236 is incommunication with computing device 201 via a wireless interface, suchas IEEE 802.11, Bluetooth, or radio interfaces (e.g.,transceiver/antenna for accessing a CDMA, GSM, UMTS, or other mobilecommunications network).

The external device 236 comprises I/O components 212, which may beconfigured to function in similar ways as the I/O 112 componentsdepicted in FIG. 1. The external device 236 also comprises a user inputdevice 238 coupled to the I/O components 212. The user input device 238comprises a device for interacting with the external device 236, forexample, a joystick, directional pad, button, switch, speaker,microphone, touch sensitive surface, and/or other hardware used to inputdata or output data.

The external device 236 further comprises one or more position sensors232, deformation sensors 240, and haptic output devices 218. In someembodiments, these components may be configured to function in similarways as the position sensors 132, deformation sensors 134, and hapticoutput devices 118 depicted in FIG. 1, respectively.

FIG. 3A shows an embodiment of a system for shape input and output for ahaptically-enabled deformable surface. The system 300 comprises acomputing device 302 configured to flex, bend, fold, twist, squeeze,stretch, roll, or otherwise deform. In some embodiments, the computingdevice 302 may comprise a smartphone, tablet, or other type of computingdevice.

In some embodiments, a user may flex, bend, twist, squeeze, fold,stretch, roll, or otherwise deform the computing device 302 to provideinput to the computing device 302. The computing device 302 may detectthe user interaction and determine a function associated with the userinteraction. In some embodiments, the computing device 302 may determinethe position of the computing device 302 in real space or with respectto an object. Based on the position, the computing device 302 maydetermine a characteristic of the function (e.g., the object toassociate with the function). The computing device 302 may then executethe function. Further, in some embodiments, the computing device 302 mayoutput one or more haptic effects and/or sounds, e.g., associated withthe function.

For example, in some embodiments, the computing device 302 may beconfigured to receive data from a remote device in response to adeformation enclosing the remote device. For instance, in someembodiments, a user may wish to receive e-mail data from a smart watch304 the user may be wearing. The user may bend the computing device 302partially around the smart watch 304, for example, such that thecomputing device 302 partially encloses the smart watch 304. Thecomputing device 302 may detect the bend and associate the bend with afunction comprising receiving data from a remote device. In someembodiments, the computing device 302 may then connect to the remotedevice and receive data from the remote device.

Further, in some embodiments, the computing device 302 may determinethat the computing device 302 is partially enclosing the smart watch304. For example, the computing device 302 may communicate with thesmart watch 304 and receive position data (e.g., gyroscope and/or GPSdata) associated with the position of the smart watch 304. Based on theposition data, the computing device 302 may determine the position ofthe smart watch 304 with respect to the computing device 302.Specifically, the computing device 302 may determine that the computingdevice 302 is partially enclosing the smart watch 304. Based on theabove, the computing device 302 may associate the smart watch 304 withthe data receipt function. The computing device 302 may execute thefunction by communicating (e.g., via Bluetooth or an 802.11 interface)with the smart watch 304 and receiving the e-mail data.

In some embodiments, upon receiving the e-mail data, the computingdevice 302 may output a haptic effect, for example, comprising avibration. The vibration may indicate to the user that the computingdevice 302 has finished receiving the e-mail data. In some embodiments,the user may be able to unbend the computing device 302 to read orotherwise interact with the e-mail.

In some embodiments, the computing device 302 may be configured totransmit data to a remote device in response to a deformation enclosingthe remote device. For instance, a user may have purchased a new gamesystem. The user may wish to reprogram the user's television remotecontrol 306 so that it is compatible with the new game system. As shownin FIG. 3B, the user may roll the computing device 302 around the remotecontrol 306. The computing device 302 may detect the rolling interactionand associate it with a function comprising transmitting data to aremote device. The computing device 302 may also determine that thecomputing device 302 is enclosing the remote control 306 and associatethe remote control 306 with the data transmission. The computing device302 may transmit the data to the remote control 306, therebyreprogramming the remote control 306. In some embodiments, uponcompleting the transmission, the computing device 302 may output ahaptic effect comprising a series of pulsed vibrations. The vibrationsmay indicate to the user that the computing device 302 has finishedtransmitting the data.

In some embodiments, the computing device 302 may be configured tointeract with virtual object 308 in response to a deformation enclosingthe virtual object 308. For instance, a user may view a virtual object308 via, for example, augmented reality glasses. The user may want torotate or move the virtual object 308 to see it from a differentperspective. As shown in FIG. 3C, the user may fold the computing device302 such that the top and bottom halves of the computing device 302 areenclosing the virtual object 308. Based on the folding of the computingdevice 302, and the position of the computing device 302 with respect tothe virtual object 308, the computing device 302 may determine afunction comprising virtually “grabbing hold” of the virtual object 308.In some embodiments, the computing device 302 may output a haptic effectcomprising, for example, a click sensation (e.g., a pulse vibration)configured to indicate to the user that the user has grabbed hold of thevirtual object 308. In other embodiments, the computing device 302 mayoutput, for example, a simulated texture associated with the virtualobject 308. This may allow the user to perceive the texture of thevirtual object 308. The user may then rotate or move the computingdevice 302 in real space, and the computing device 302 maycorrespondingly rotate or move the virtual object 308 in virtual space.

In some embodiments, the user may unfold the computing device 302 fromaround the virtual object 308. In response, the computing device 302 mayrelease its “hold” on the virtual object 308. In some embodiments, thecomputing device 302 may output another haptic effect comprising, forexample, a click sensation. This may indicate to the user that the userhas released the virtual object 308 and/or that the user is free toperform other functions with the computing device 302.

In some embodiments, the computing device 302 need not enclose or benear an object to interact with the object. Rather, in some embodiments,a user may deform the computing device 302 and orient it toward theobject. Based on the deformation and orientation, the computing device302 may interact with the object, for example, as described with respectto FIGS. 4-9.

FIG. 4 shows an embodiment of a system for shape input and output for ahaptically-enabled deformable surface. In some embodiments, thecomputing device 402 may be configured to receive data from an objectbased at least in part on a cup-shaped deformation.

For example, in some embodiments, a user may want to performsound-to-text conversion. A user may deform the computing device 402into a cup shape and direct the opening of the cup shape toward a soundsource 404. The sound source 404 may comprise, for example, a speaker,person (e.g., a voice), animal, another computing device 402, a MP3player, or another electronic device or sound source. In someembodiments, the computing device 402 may be configured to output ahaptic effect assisting the user in deforming the computing device 402into a cup shape. For example, if the computing device 402 detects thatthe user has bent the computing device 402 more than 90 degrees, thecomputing device 402 may output a haptic effect configured to completethe cup shape (e.g., rolling the computing device 402 the rest of theway). In such an embodiment, the computing device 402 may output thedeformation haptic effect by applying heat or electricity to a shapememory alloy. The shape memory alloy may be, for example, coupled to theback of the computing device 402. The shape memory alloy may beconfigured to bend or otherwise deform in response to heat orelectricity, thereby causing the shape of the computing device 402 tobend or roll.

In some embodiments, the computing device 402 may detect the cup shapeand associate the cup shape with a function comprising sound-to-textconversion. The computing device 402 may also determine that thecomputing device 402 is oriented toward the sound source 404. Based onthe deformation and orientation, the computing device 402 may activate amicrophone to begin receiving sounds. Further, the computing device 402may process the sounds, for example, by filtering non-targeted sounds(e.g., background noise) and/or enhancing the targeted sounds (e.g.,increasing the magnitude of the frequencies associated with the targetedsounds) from the sound source 404. The computing device 402 may thenconvert the processed sound to text. In some embodiments, the user mayunbend the computing device 402 to end sound-to-text conversion and/orread the text via the computing device 402.

In some embodiments, a user may want to receive an audio file (e.g., adigital audio file, such a MP3, WAV, or WMA file) from a sound source404 (e.g., another computing or electronic device). The user may deformthe computing device 402 into a cup shape and direct the opening of thecup shape toward a sound source 404. In some embodiments, the computingdevice 402 may detect the cup shape and associate the cup shape with afunction comprising receiving an audio file. The computing device 402may also determine that the computing device 402 is oriented toward thesound source 404. Based on the deformation and orientation, thecomputing device 402 may communicate with the sound source 404 andreceive the audio file from the sound source 402.

FIG. 5 shows another embodiment of a system for shape input and outputfor a haptically-enabled deformable surface. In some embodiments, thecomputing device 502 may execute a function based at least in part on anarc deformation. For example, a user may view content (e.g., anadvertisement, product, or logo) on a screen 506 (e.g., a computermonitor, television screen, or a kiosk screen). The user may wish toreceive information (e.g., a store's location, hours, website address,phone number, or an inventory list) associated with the content. Theuser may bend the computing device 502 into an arc oriented toward thescreen 506. The computing device 502 may detect the arc deformation,associate it with receiving data, and determine that the arc is orientedtoward the screen 506. Based on the deformation and orientation, thecomputing device 502 may communicate with the remote device and receivedata associated with the content. In some embodiments, the computingdevice 502 may output a haptic effect associated with the received dataor the content. For example, if the content comprises an advertisementfor a golf store, the computing device 502 may output a haptic effectconfigured to simulate the impact of a golf ball. In some embodiments,the computing device 502 may output the data on a display.

FIG. 6 shows an embodiment of a system for shape input and output for ahaptically-enabled deformable surface. In some embodiments, thecomputing device 602 may execute a function (e.g., transmit a textmessage, instant message, or game to a remote device) based on acatapult interaction. For example, a user may wish to transmit a movieto a remote device (not shown), for instance, so that the user can viewthe movie on a large screen 604 coupled to the remote device. In someembodiments, the user may select the movie (e.g., from a list) and pullthe top of the computing device 602 back like a catapult, while keepingthe bottom of the computing device 602 stationary. In some embodiments,the computing device 602 may output a haptic effect comprising acreaking sensation or resisting against the bend. Further, once thecomputing device 602 is sufficiently bent, the computing device 602 mayoutput a haptic effect comprising a click sensation or a click sound.The user may release the top of the computing device 602 so that itsprings forward, returning the computing device 602 to its originalshape. The computing device 602 may detect this catapult interaction andassociate it with a function comprising transmitting data. The computingdevice 602 may further determine that the catapulting interaction isoriented toward the remote device. Based on the catapult interaction andorientation, the computing device 602 may transmit the movie data to theremote device.

In some embodiments, the computing device 602 may transmit a command toa remote device based on a catapult interaction. For instance, a usermay have previously typed a text document on a remote device (e.g., alaptop computer). The user may have forgotten to save the document. Insome embodiments, the user may perform a catapult interaction with thecomputing device 602 (e.g., the user's smart phone) oriented toward theremote device. The computing device 602 may detect the catapultinteraction and associate it with a function comprising transmitting a“save” command. The computing device 602 may further determine that thecatapulting interaction is oriented toward the remote device. Based onthe deformation and orientation, the computing device 602 may transmitthe save command to the remote device. In some embodiments, as thecomputing device 602 transmits the save command, the computing device602 may output a continuous haptic effect (e.g., a stroking sensation).This may indicate to the user that transmission of the command is inprogress. The remote device may receive and execute the command, forexample, saving the document. In some embodiments, once the command hasbeen received by the remote device, the computing device 602 may stopoutputting the haptic effect. This may indicate to the user thattransmission of the command is complete.

FIG. 7 shows another embodiment of a system for shape input and outputfor a haptically-enabled deformable surface. In this example, the system700 comprises a computing device 702 configured substantially the sameas the computing device 702 of FIG. 3. The system 700 also comprises aremote device 704. The computing device 702 and the remote device 704each comprise a display 706, 708. In this example, the computing device702 is outputting a virtual object 710 (e.g., a photograph, photogallery, avatar, a picture, icon, logo, text, a text message or instantmessage, or video) on the display 706.

In some embodiments, the computing device 702 may execute a functionupon the user shaking the computing device 702. For example, a user maywish to transfer the virtual object 710 to the remote device 704. Theuser may place the computing device 702 above the remote device 704 and,for example, shake the computing device 702. In some embodiments, thecomputing device 702 may detect the shake interaction and associate itwith a function comprising transmitting data. The computing device 702may further determine that the computing device 702 is above the remotedevice 704. Based on the shake interaction and orientation of thecomputing device 702, the computing device 702 may transmit dataassociated with the virtual object 710 to the remote device 704. In someembodiments, as the data is transmitted to the remote device 704, thecomputing device 702 may output images on the display 706. For example,images of the virtual object 710 sliding downwardly toward the remotedevice 704. In some embodiments, the computing device 702 may outputhaptic effects configured to simulate the texture or movement of a realobject (e.g., an object in real space, such as a brick, photograph,piece of paper, or rubber object), for example, sliding across a surface(e.g., a table or desk).

In some embodiments, a user may wish to clear a virtual object 710 fromthe display 706. The user may, for example, shake the computing device702. In some embodiments, the computing device 702 may detect the shakeinteraction and associate it with a function clearing the virtual object710 from the display. The computing device 702 may then execute thefunction and clear the virtual object 710 from the display 706.

FIG. 8 shows still another embodiment of a system for shape input andoutput for a haptically-enabled deformable surface. In this example, theremote device 804 is outputting a virtual object 806 (e.g., a picture orphotograph) on a display. A user may wish to interact with the virtualobject 806 on the remote device 804. For example, the user may wish toenlarge or stretch the virtual object 806. The user may position thecomputing device 802 facing the remote device 804 and stretch thecomputing device 802. In some embodiments, the computing device 802 maydetect the stretch interaction and associate it with a functioncomprising transmitting an “enlarge” command. The computing device 802may further determine that the front of the computing device 702 isfacing (e.g., oriented toward) the remote device 804. Based on thedeformation and orientation, the computing device 802 may transmit theenlarge command to the remote device 804. Upon receiving the enlargecommand, in some embodiments, the remote device 804 may enlarge thevirtual object 806.

Further, in some embodiments, the user may wish to compress the virtualobject 806. The user may position the computing device 802 facing theremote device 704 and compress the computing device 802. In someembodiments, the computing device 802 may detect the compressioninteraction and associate it with a function comprising transmitting a“compress” command. The computing device 802 may further determine thatthe front of the computing device 802 is facing the remote device 804.Based on the deformation and orientation, the computing device 802 maytransmit the compress command to the remote device 804. Upon receivingthe compress command, in some embodiments, the remote device 804 maycompress the virtual object 806.

In some embodiments, the computing device 802 may output a haptic effectconfigured to, for example, indicate to the user that the command hasbeen sent or that the command has been executed. For example, thecomputing device 802 may output a haptic effect comprising along-duration vibration to indicate to the user that the virtual object806 has been enlarged. The computing device 802 may output a hapticeffect comprising a short-duration vibration to indicate to the userthat the virtual object 806 has been compressed. Thus, the user may beable to interact with remote devices 804 and/or virtual objects 806without having to visually focus on the computing device 802 or theremote device 804.

FIG. 9 shows an embodiment of a system for shape input and output for ahaptically-enabled deformable surface. In this example, the computingdevice 902 comprises a wearable device. The wearable device comprises aring wrapped around a user's thumb. A remote device 904 is prompting theuser to confirm performing a function, for instance, agreeing to termsof service associated with a piece of software. In some embodiments, thecomputing device 902 may output a haptic effect (e.g., a series ofvibrations) configured to alert the user that a decision must be made.

In some embodiments, the user may perform a gesture (e.g., a thumbs-upsignal, in which the user's fist is closed and a thumb is extendedupward) to confirm performing the function. The computing device 902 maydetect the gesture and associate it with a function comprisingtransmitting a “confirm” command. The computing device 902 may furtherdetermine that the computing device 902 or gesture is oriented towardthe remote device 904. Based on the above, the computing device 902 maytransmit the confirm command to the remote device 904. Upon receivingthe confirm command, in some embodiments, the remote device 904 mayperform the function (e.g., accept the terms of service). Further, thecomputing device 902 may output a haptic effect comprising, for example,a vibration to notify the user that the function has been completed.

In some embodiments, the user may perform a gesture (e.g., a thumbs-downsignal, in which the user's fist is closed and a thumb is extendeddownward) to deny performance of the function. The computing device 902may detect the gesture and associate it with a function comprising, forexample, transmitting a “deny” command. The computing device 902 mayfurther determine that the computing device 902 or gesture is orientedtoward the remote device 904. Based on the above, the computing device902 may transmit the deny command to the remote device 904. Uponreceiving the deny command, in some embodiments, the remote device 904may not perform the function. In some embodiments, the computing device902 may not output a haptic effect if the function is not performed.

In some embodiments, the user may be able to bend a body part (e.g., afinger, leg, wrist, arm, hand, or foot), for example, to perform one ormore functions. As the user bends a body part, the user may bend one ormore components of the computing device 902. In some embodiments, thecomputing device 902 may detect the amount of bend and associate it witha function. For example, as the user bends a thumb 90 degrees, thecomputing device 902 may detect the bend. The computing device 902 mayassociate the amount of bend with a function comprising, for example,closing an application. The computing device 902 may further determinethat the computing device 902 or bend gesture is oriented toward theremote device 904. Based on bend in and orientation of the computingdevice 902, the computing device 902 may transmit a “close” command tothe remote device 904. Upon receiving the close command, in someembodiments, the remote device 904 may close an open application.

FIG. 10 shows another embodiment of a system for shape input and outputfor a haptically-enabled deformable surface. In this example, thecomputing device 1002 comprises a wearable device comprising an arm bandwrapped around the user's arm. The user may be, for example, at the gym.The user may flex the user's arm as part of a workout routine. This mayalso flex the computing device 1002 wrapped around the user's arm. Insome embodiments, the computing device 1002 may detect the flexing. Thecomputing device 1002 may further detect the position of the computingdevice 1002 in real space (e.g., the GPS location) and determine thatthe user is at the gym. Based on the flexing interaction and theposition of the computing device 1002, the computing device 1002 mayinitiate, for example, a “workout buddy” mode. In some embodiments, the“workout buddy” mode may be configured to output haptic effectsresisting against further flexing if the computing device 1002determines that the user may be flexing an unsafe amount. Further, insome embodiments, the “workout buddy” mode may be configured to outputhaptic effects assisting the user in bending or flexing if the computingdevice 1002 determines the user needs the help performing a workoutgesture.

Illustrative Systems for Shape Output for a Haptically-EnabledDeformable Surface

FIG. 11 shows an embodiment of a system for shape input and output for ahaptically-enabled deformable surface. In some embodiments, thecomputing device 1102 may flex, bend, twist, squeeze, fold, stretch,roll, or otherwise deform to provide output to the user. The computingdevice 1102 may deform based on a system mode. Further, the computingdevice 1102 may determine the position of the computing device (e.g., inreal space, or with respect to an object). In some embodiments, thecomputing device 1102 may execute a function associated with theposition and the system mode. In some embodiments, the computing device1102 may further output haptic effects and/or audio, for example, basedon the function.

In some embodiments, the computing device 1102 may deform into the shapeof a cup to provide output to a user. For example, the computing device1102 may be configured to record a user's favorite song when the songplays on the radio. The computing device 1102 may analyze data from amicrophone to determine the presence of the song. Upon the song playingon the radio, in some embodiments, the computing device 1102 may deforminto a cup shape and begin recording. The cup shape may indicate to theuser that the computing device 1102 has begun recording (i.e., that thesystem is in a recording mode). Further, the computing device 1102 maydetermine its position with respect to, for example, the speaker playingthe song. The computing device 1102 may orient itself such that it isfacing the speaker 1104 playing the song. This may simultaneouslyprovide enhanced audio quality to the computing device 1102 whileindicating to the user the sound source primarily associated with therecording. In some embodiments, the computing device 1102 may furtheroutput a haptic effect comprising a rumbling sensation. This mayindicate to the user that recording is ongoing.

FIG. 12 shows another embodiment of a system for shape input and outputfor a haptically-enabled deformable surface. In this example, thecomputing device 1202 is bending or flexing to provide output to a user.

For example, in some embodiments, the computing device 1202 may be aboutto receive data from or transmit data to a remote device (not shown).The computing device 1202 may bend into an arch shape, e.g., symbolizingan antenna. The arch shape may indicate to the user that the computingdevice 1202 is going to receive or transmit data. Further, the computingdevice 1202 may determine its position with respect to, for example, theremote device. In some embodiments, the computing device 1202 maydetermine an interface (e.g., a wired, wireless, Bluetooth, or 802.11ginterface) through which to receive or transmit the data based on theposition. For example, the computing device 1202 may receive or transmitthe data by Bluetooth if the remote device is in close proximity to thecomputing device 1202, and receive or transmit the data over a wirelessLAN or other means if the computing device 1202 is far from the remotedevice. If the user tries to flatten the computing device 1202, thecomputing device 1202 may output a haptic effect resisting the user, forexample, until the data receipt or transmission is complete.

FIG. 13 shows still another embodiment of a system for shape input andoutput for a haptically-enabled deformable surface. In this example, thecomputing device 1302 is folding to provide output to a user. Forexample, a user may place the computing device 1302 in close proximityto a remote device 1306 (e.g., a MP3 player), for instance, tosynchronize music data between the computing device 1302 and the remotedevice 1306. The computing device 1302 may determine its close proximityto the remote device 1306 and initiate a connection with the remotedevice 1306. The computing device 1302 may further deform itself, e.g.,by folding its edges. The folded edges may indicate to the user that thecomputing device 1302 is communicating with the remote device 1306. Thecomputing device 1302 and the remote device 1306 may then synchronizetheir music data with each other. In some embodiments, oncesynchronization is complete, the computing device 1302 may change shapeback to its original, unfolded shape. This may indicate to the user thatsynchronization is complete and/or that the two devices are no longercommunicating with each other. In some embodiments, the computing device1302 may further output a haptic effect comprising a vibration, forexample, to alert the user that synchronization is complete.

Illustrative Methods for Shape Input and Output for a Haptically-EnabledDeformable Surface

FIG. 14 is a flow chart of steps for performing a method for providingshape input for a haptically-enabled deformable surface according to oneembodiment. In some embodiments, the steps in FIG. 14 may be implementedin program code that is executed by a processor, for example, theprocessor in a general purpose computer, a mobile device, or a server.In some embodiments, these steps may be implemented by a group ofprocessors. In some embodiments one or more steps shown in FIG. 14 maybe omitted or performed in a different order. Similarly, in someembodiments, additional steps not shown in FIG. 14 may also beperformed. The steps below are described with reference to componentsdescribed above with regard to computing device 101 shown in FIG. 1.

The method 1400 begins at step 1402 when the processor 102 receives aposition sensor signal associated with a position of the computingdevice 101 from position sensor 132. For example, in some embodiments, auser may orient the computing device 101 toward a remote device tointeract with an application executing on the remote device, e.g., adrawing application. The position sensor 132 may detect the positionand/or orientation of the computing device 101. The position sensor 132may transmit a sensor signal associated with the position and/ororientation to the processor 102.

The method 1400 continues at step 1404 when the processor 102 determinesthe position of the computing device 101 based on the sensor signal. Theposition may be associated with the position of the computing device 101in real space or with respect to an object. For example, in theabove-mentioned drawing application embodiment, the computing device 101may determine that position of the computing device 101 with respect tothe remote device. For example, the computing device 101 may determinethat the computing device 101 is oriented toward the remote device.

In some embodiments, the processor 102 may determine the position of thecomputing device 101 based on the GPS location of the computing device101. For instance, in the above-mentioned drawing applicationembodiment, the processor 102 may determine that the computing device101 is in the user's art studio based on the GPS location of thecomputing device 101. The user may have predesignated that, when thecomputing device 101 is in the user's art studio, all functions executedby the computing device 101 should be with respect to the remote deviceexecuting the drawing application.

The method 1400 continues at step 1406 when the processor 102 receives adeformation sensor signal from a deformation sensor 134. In someembodiments, the deformation sensor signal may be associated with a userinteraction with the computing device 101. For example, in theabove-mentioned drawing application embodiment, a user may bend thecomputing device 101 to, for example, input a command to the computingdevice. For example, in the drawing application described above, thecommand may be configured to cause the remote device to erase anexisting drawing or start a new drawing. The deformation sensor 134 maydetect the bend and transmit a sensor signal associated with the bend tothe processor 102.

The method 1400 continues at step 1410 when the processor 102 determinesa function. The processor 102 may determine a function based at least inpart on the deformation sensor signal, the position sensor signal, asensor signal from sensor 130, and/or a system mode. In someembodiments, the processor 102 may determine the function via analgorithm or lookup table stored in memory 104. For example, theprocessor 102 may consult a lookup table and associate specificdeformation sensor signals with particular functions. For instance, inthe above-mentioned drawing application, in response to the user bendingthe computing device 101, the processor 102 may consult the lookup tableand associate a function comprising transmitting an “erase” command tothe remote device. The erase command may be configured to cause theremote device to erase an existing drawing. As another example, inresponse to the user folding an ear of the computing device 101, theprocessor 102 may consult the lookup table and associate a functioncomprising transmitting a “change color” command to the remote device.The change color command may be configured to cause the remote device tochange the color of a line output by a virtual drawing tool (e.g., adrawing pen) to a darker shade.

In some embodiments, the processor 102 may determine the function basedon a profile. For example, the computing device 101 may store associated“function profiles” in which a user can assign deformations the userwould like associated with particular functions. For example, in someembodiments, the computing device 101 may store a deformation (e.g., anarc, twist, squeeze, fold, bend, cup shape, stretch, or compression) theuser would like associated with a particular function (e.g.,transmitting an erase command, image warp command, close image command,image enlarge command, or image compress command). In such anembodiment, the processor 102 may consult with the user's functionprofile to determine which function to perform. For example, if theuser's function profile comprises a bend associated with transmitting anerase command, in response to the user bending the computing device 101,the processor 102 may determine a function comprising transmitting theerase command.

The method 1400 continues at step 1412 when the processor 102 determinesa haptic effect. In some embodiments, the processor 102 may determinethe haptic effect based at least in part on a sensor signal (e.g., fromthe position sensor 132, the sensor 130, or the deformation sensor 134),a function, a system mode, and/or an event.

In some embodiments, the processor 102 may rely on programming containedin haptic effect determination module 126 to determine the hapticeffect. For example, in some embodiments, the haptic effectdetermination module 126 may comprise a lookup table. In someembodiments, the haptic effect determination module 126 may consult thelookup table and associate sensor signal characteristics (e.g.,magnitude, frequency, duration, or waveform), functions, system modes,or events with particular haptic effects. For example, in theabove-mentioned drawing application embodiment, the haptic effectdetermination module 126 may associate a function comprisingtransmitting an erase command with a haptic effect comprising a shortvibration. As another example, the user may fold the computing device101 in half, for example, to cause the computing device 101 to transmita “close drawing” command to the remote device. The close drawingcommand may be configured to cause the remote device to close an opendrawing. The haptic effect determination module 126 may consult thelookup table and associate the folding interaction with a haptic effectcomprising a long vibration.

In some embodiments, the processor 102 may determine the haptic effectbased on if, or how much, the computing device 101 is flexed, twisted,squeezed, stretched, folded, bent, or otherwise deformed. For example,in one such embodiment, if the corner of the computing device 101 isfolded more than 50%, the processor 102 may determine a haptic effectcomprising resisting further folding of the computing device 101. Forinstance, in the above-mentioned drawing application embodiment, theuser may fold the corner of the computing device 101 to cause the remotedevice to change the color of a line output by a virtual drawing tool(e.g., a drawing pen) to a darker shade. In such an embodiment, theprocessor 102 may determine that the user has folded the corner of thecomputing device more than 50%. The processor 102 may determine that,beyond a fold of 50%, the line color is already the darkest possibleshade. Thus, the processor 102 may determine a haptic effect comprisingresisting further folding of the corner of the computing device 101.This may notify the user that the color of the line is already itsdarkest possible shade. As another example, if the corner of thecomputing device 101 is bent less than 50%, the processor 102 maydetermine a haptic effect configured to assist the user in furtherbending the corner of the computing device 101. This may make changingcolor shades easier for the user.

Further, in some embodiments, the computing device 101 may storeassociated “haptic profiles” in which a user can determine and save inmemory 104 a “profile” of the haptic effects the user would likeassociated with particular events, system modes, user interactions,and/or functions. For example, in one embodiment, a user can select froma list of options which haptic effect the user would like associatedwith flexing, bending, folding, or other deformations of the computingdevice 101. In some embodiments, the list may comprise, for example,haptic effects such as assist deformation, resist deformation,high-magnitude vibration, low-magnitude vibration, or a simulatedtexture. In such an embodiment, the processor 102 may consult with theuser's haptic profile to determine which haptic effect to generate. Forexample, if the user's haptic profile associates bending the computingdevice 101 with a haptic effect comprising a high-magnitude vibration,in response to the user bending the computing device 101, the processor102 may determine a haptic effect comprising a high-magnitude vibration.

In other embodiments, the processor 102 may determine the haptic effectbased on the computing device's 101 shape or deformation. For example,in some embodiments, the processor 102 may determine a haptic effectcomprising bending the computing device 101. Further, in someembodiments, the processor 102 may determine that the computing device101 is already bent. Thus, the processor 102 may determine no hapticeffect.

The method 1400 continues at step 1414 when the processor 102 executesthe function. In some embodiments, the processor 102 may execute thefunction by executing one or more sub-functions. For example, in theabove-mentioned drawing application embodiment, the processor 102 maytransmit an erase command by generating the erase command, initiatingcommunication with the remote device (e.g., via Bluetooth or anotherinterface), transmitting the erase command, and/or waiting for aresponse from the remote device.

The method 1400 continues at step 1416 when the processor 102 causes thehaptic output device 118 to output the haptic effect. The processor 102may transmit a haptic signal associated with the haptic effect to thehaptic output device 118. The haptic output device 118 is configured toreceive the haptic signal and output the haptic effect. For example, thehaptic output device 118 may receive a haptic signal and output a hapticeffect comprising, for example, a vibration, a perceptible change in acoefficient of friction on a surface associated with the computingdevice 101, a simulated texture, or a stroking sensation.

In some embodiments, the haptic effect may comprise a deformation of thecomputing device 101 (e.g., bending, folding, flexing, twisting,squeezing, or stretching the computing device 101). For example, in theabove-mentioned drawing application embodiment, the user may bend thecomputing device 101 to cause the computing device 101 to transmit anerase command to the remote device. In such an embodiment, upontransmitting the erase command, the processor 102 may cause the hapticoutput device 118 to output a haptic effect configured to unbend thecomputing device 101. That is, the haptic effect may return thecomputing device 101 to its original, unbent shape. Further, in someembodiments, the processor 102 may cause the haptic output device 118 tooutput a haptic effect configured to resist against the user bending thecomputing device 101 until, for example, the user has created a newdrawing. This may prevent the user from causing the computing device 101to transmit unnecessary erase commands if, for example, there is nodrawing to erase.

FIG. 15 is a flow chart of steps for performing a method for providingshape output for a haptically-enabled deformable surface according toanother embodiment. In some embodiments, one or more steps shown in FIG.15 may be performed in addition to or instead of one or more steps shownin FIG. 14.

The method 1500 begins at step 1502 when the processor 102 receives aposition sensor signal associated with a position of the computingdevice 101 from position sensor 132. For example, in some embodiments,the computing device 101 may comprise a mobile device (e.g., a smartphone). The computing device 101 may be positioned remotely from theuser. The position sensor 132 may detect the position and/or orientationof the computing device 101. The position sensor 132 may transmit asensor signal associated with the position and/or orientation to theprocessor 102.

The method 1500 continues at step 1504 when the processor 102 determinesthe position of the computing device 101 based on the sensor signal. Theposition may be associated with the position of the computing device 101in real space or with respect to an object. For example, in theabove-mentioned mobile device embodiment, the computing device 101 maydetermine that position of the computing device 101 with respect to theuser. For example, the computing device 101 may determine that thecomputing device 101 is positioned a certain distance (e.g., 15 feet)from the user.

The method 1500 continues at step 1506 when the processor 102 receivesuser input. In some embodiments, the user input may comprise a buttonpress, a sound or voice, a change in orientation of the computing device101, or interaction with a touch-sensitive surface 116. In someembodiments, the user input may be from a local user or a remote user.For example, in the above-mentioned mobile device embodiment, a remoteuser may make a phone call (i.e., the user input) to the computingdevice 101. The processor 102 may receive the phone call, thus receivingthe remote user's input.

The method 1500 continues at step 1508 when the processor 102 determinesa system mode. In some embodiments, the processor 102 may determine asystem mode based at least in part on the user input, the positionsensor signal, a sensor signal from sensor 130, and/or an event. Forexample, in the above-described mobile device embodiment, upon receivingthe phone call from the remote user, the processor 102 may determine thesystem mode comprises phone call receipt mode.

In some embodiments, the processor 102 may consult one or more locationsin memory 104 to determine the system mode. For example, in theabove-described mobile device embodiment, the processor 102 may consulta location in memory 104 and determine that the computing device 101 isin a phone call receipt mode.

The method 1500 continues at step 1510 when the processor 102 determinesa function. In some embodiments, the processor 102 may determine afunction using any of the methods described above with respect to step1410 of FIG. 14. For example, in the above-described mobile deviceembodiment, the processor 102 may determine a function based on thephone call receipt mode and the position of the computing device 101.For instance, the processor 102 may determine that the computing device101 is positioned out of earshot from the user. Based on the incomingphone call and the position of the computing device 101 out of earshotfrom the user, the processor 102 may determine a function comprisingsending an alert to another electronic device (e.g., another computingdevice 101, a beeper or pager, or a laptop computer) owned by the user.The alert may be configured to notify the user of the incoming phonecall.

The method 1500 continues at step 1512 when the processor 102 executesthe function. In some embodiments, the processor 102 may execute thefunction by executing one or more sub-functions. For example, in theabove-described mobile device embodiment, the processor 102 may transmitan e-mail notification to the user's e-mail account. The user mayreceive the e-mail via another device, for example the user's laptopcomputer.

The method 1500 continues at step 1514 when the processor 102 determinesa haptic effect. In some embodiments, the processor 102 may determine ahaptic effect using any of the methods described above with respect tostep 1412 of FIG. 14. For example, in the above-mentioned mobile deviceembodiment, the processor 102 may consult a lookup table and associate aphone call receipt mode with a particular haptic effect. For example, ahaptic effect configured to fold the computing device 101. Such a hapticeffect may allow the user to visually determine that the computingdevice 101 is receiving a phone call.

The method 1500 continues at step 1516 when the processor 102 causes thehaptic output device 118 to output the haptic effect, for example, usingany of the methods described above with respect to step 1416 of FIG. 14.For instance, in the above-mentioned mobile device embodiment, thehaptic output device 118 may comprise a rheological fluid. The hapticoutput device 118 may be coupled to the back of the computing device 101over a hinge in the computing device 101. The processor 102 may transmita haptic signal to the haptic device output device 118, causing thephysical properties of the rheological fluid to change. This may causethe computing device 101 to fold, thereby outputting the haptic effect.

Additional Embodiments of Systems for Shape Input and Output for aHaptically-Enabled Deformable Surface

FIG. 16 shows an embodiment of a system for shape input and output for ahaptically-enabled deformable surface. In some embodiments, thecomputing device 1602 may execute a function based at least in part onan arc deformation. For example, a user may wish to transmit data (e.g.,an e-mail) to a remote device 1604. The user may bend the computingdevice 1602 into an arc oriented toward the remote device 1604. Thecomputing device 1602 may detect the arc deformation, associate it withtransmitting data, and determine that the arc is oriented toward theremote device 1604. Based on the deformation and orientation, thecomputing device 1602 may communicate with the remote device 1604 andtransmit data to the remote device 1604. In some embodiments, thecomputing device 1602 may output a haptic effect associated withtransmitting or the transmitted data.

Further, in some embodiments, one or more remote devices 1604 may outputa haptic effect (e.g., a deformation) based at least in part on thefunction executed by the computing device 1602 or executing on theremote device 1604. For example, the remote device 1604 may flex, bend,or otherwise deform while receiving the data. This may notify the useror a third party that the remote device 1604 is receiving data. In someembodiments, the remote device 1604 may flex or bend in a directionoriented toward the computing device 1602. This may notify the user or athird party that the remote device 1604 is receiving data from thecomputing device 1602.

Advantages of Shape Input and Output for a Haptically-Enabled DeformableSurface

There are numerous advantages to shape input and output forhaptically-enabled deformable surfaces. Such systems may provide moreintuitive user interfaces for users. For example, rather than pressingmultiple buttons to transmit data from a computing device to a remotedevice, which may be slow, confusing, and arbitrary, a user may simplyperform a catapult interaction directed toward the remote device. Suchphysical interactions (e.g., the catapult interaction) may providefaster, easier, and more intuitive user interfaces for the user.

In some embodiments, shape input and output for haptically-enableddeformable surfaces may provide a realistic or immersive userexperience. For example, in some embodiments, the user may receive datafrom a remote device by deforming the computing device into an arcshape, like a baseball catcher's mitt, oriented toward the remotedevice, rather than pressing virtual buttons on a screen. Additionally,upon the completion of data transfer, the computing device may output ahaptic effect configured to simulate catching an object (e.g., abaseball). Thus, the user may be able to initiate or “feel” the datatransfer by physically interacting with the computing device.

In some embodiments, shape input and output for haptically-enableddeformable surfaces may indicate a mode the computing device is in, orserve as a confirmation that an operation is available or has beencompleted. For example, in some embodiments, the computing device maycomprise a phone. The user may put the phone next to the user's face tomake a call. The computing device may determine its orientation andlocation and deform, for example, to curve against the user's face. Thismay indicate to the user that the computing device is listening forvoice input from the user. The user may then give a voice command (e.g.,“call my wife”), which the computing device may interpret and execute.

In other embodiments, shape input and output for haptically-enableddeformable surfaces may enable a user to use software and userinterfaces more effectively. For example, in some embodiments,deformation-based haptic feedback may assist or resist against a userperforming certain functions. For instance, in some embodiments,deformation-based haptic feedback may assist a user in bending orfolding a computing device to provide input, or resist against the userbending or folding the computing device if the user is not allowed toprovide input at that time.

General Considerations

The methods, systems, and devices discussed above are examples. Variousconfigurations may omit, substitute, or add various procedures orcomponents as appropriate. For instance, in alternative configurations,the methods may be performed in an order different from that described,and/or various stages may be added, omitted, and/or combined. Also,features described with respect to certain configurations may becombined in various other configurations. Different aspects and elementsof the configurations may be combined in a similar manner. Also,technology evolves and, thus, many of the elements are examples and donot limit the scope of the disclosure or claims.

Specific details are given in the description to provide a thoroughunderstanding of example configurations (including implementations).However, configurations may be practiced without these specific details.For example, well-known circuits, processes, algorithms, structures, andtechniques have been shown without unnecessary detail to avoid obscuringthe configurations. This description provides example configurationsonly, and does not limit the scope, applicability, or configurations ofthe claims. Rather, the preceding description of the configurations willprovide those skilled in the art with an enabling description forimplementing described techniques. Various changes may be made in thefunction and arrangement of elements without departing from the spiritor scope of the disclosure.

Also, configurations may be described as a process that is depicted as aflow diagram or block diagram. Although each may describe the operationsas a sequential process, many of the operations can be performed inparallel or concurrently. In addition, the order of the operations maybe rearranged. A process may have additional steps not included in thefigure. Furthermore, examples of the methods may be implemented byhardware, software, firmware, middleware, microcode, hardwaredescription languages, or any combination thereof. When implemented insoftware, firmware, middleware, or microcode, the program code or codesegments to perform the necessary tasks may be stored in anon-transitory computer-readable medium such as a storage medium.Processors may perform the described tasks.

Having described several example configurations, various modifications,alternative constructions, and equivalents may be used without departingfrom the spirit of the disclosure. For example, the above elements maybe components of a larger system, in which other rules may takeprecedence over or otherwise modify the application of the invention.Also, a number of steps may be undertaken before, during, or after theabove elements are considered. Accordingly, the above description doesnot bound the scope of the claims.

The use of “adapted to” or “configured to” herein is meant as open andinclusive language that does not foreclose devices adapted to orconfigured to perform additional tasks or steps. Additionally, the useof “based on” is meant to be open and inclusive, in that a process,step, calculation, or other action “based on” one or more recitedconditions or values may, in practice, be based on additional conditionsor values beyond those recited. Headings, lists, and numbering includedherein are for ease of explanation only and are not meant to belimiting.

Embodiments in accordance with aspects of the present subject matter canbe implemented in digital electronic circuitry, in computer hardware,firmware, software, or in combinations of the preceding. In oneembodiment, a computer may comprise a processor or processors. Theprocessor comprises or has access to a computer-readable medium, such asa random access memory (RAM) coupled to the processor. The processorexecutes computer-executable program instructions stored in memory, suchas executing one or more computer programs including a sensor samplingroutine, selection routines, and other routines to perform the methodsdescribed above.

Such processors may comprise a microprocessor, a digital signalprocessor (DSP), an application-specific integrated circuit (ASIC),field programmable gate arrays (FPGAs), and state machines. Suchprocessors may further comprise programmable electronic devices such asPLCs, programmable interrupt controllers (PICs), programmable logicdevices (PLDs), programmable read-only memories (PROMs), electronicallyprogrammable read-only memories (EPROMs or EEPROMs), or other similardevices.

Such processors may comprise, or may be in communication with, media,for example tangible computer-readable media, that may storeinstructions that, when executed by the processor, can cause theprocessor to perform the steps described herein as carried out, orassisted, by a processor. Embodiments of computer-readable media maycomprise, but are not limited to, all electronic, optical, magnetic, orother storage devices capable of providing a processor, such as theprocessor in a web server, with computer-readable instructions. Otherexamples of media comprise, but are not limited to, a floppy disk,CD-ROM, magnetic disk, memory chip, ROM, RAM, ASIC, configuredprocessor, all optical media, all magnetic tape or other magnetic media,or any other medium from which a computer processor can read. Also,various other devices may comprise computer-readable media, such as arouter, private or public network, or other transmission device. Theprocessor, and the processing, described may be in one or morestructures, and may be dispersed through one or more structures. Theprocessor may comprise code for carrying out one or more of the methods(or parts of methods) described herein.

While the present subject matter has been described in detail withrespect to specific embodiments thereof, it will be appreciated thatthose skilled in the art, upon attaining an understanding of theforegoing may readily produce alterations to, variations of, andequivalents to such embodiments. Accordingly, it should be understoodthat the present disclosure has been presented for purposes of examplerather than limitation, and does not preclude inclusion of suchmodifications, variations and/or additions to the present subject matteras would be readily apparent to one of ordinary skill in the art.

1-20. (canceled)
 21. A computing device comprising: a deformablehousing; a processor; and a memory device comprising program code thatis executable by the processor to cause the processor to: detect thatthe computing device has a particular spatial positioning relative to aremote object based on a first sensor signal from a position sensor;determine that the computing device is to interact with the remoteobject based on detecting that the computing device has the particularspatial positioning relative to the remote object; detect a deformationin the deformable housing based on a second sensor signal from adeformation sensor; interact with the remote object in a particularmanner that is dependent on the deformation detected in the deformablehousing; and transmit a haptic signal to a haptic output device, thehaptic signal being configured to cause the haptic output device tooutput a haptic effect associated with the interaction between thecomputing device and the remote object.
 22. The computing device ofclaim 21, wherein the particular spatial positioning of the computingdevice involves the computing device being within a threshold distancefrom the remote object.
 23. The computing device of claim 21, whereinthe particular spatial positioning of the computing device includes atleast one of an orientation or a position of the computing devicerelative to the remote object, and wherein the particular spatialpositioning of the computing device involves the computing device beingoriented toward the remote object.
 24. The computing device of claim 21,wherein the remote object is a virtual object in a space including atleast one of a virtual space or an augmented reality environment. 25.The computing device of claim 21, wherein the remote object is aphysical object in real space.
 26. The computing device of claim 25,wherein the physical object is a wearable computing device.
 27. Thecomputing device of claim 21, wherein the memory device furthercomprises program code that is executable by the processor to cause theprocessor to determine that the computing device is to interact with theremote object at least in part by: selecting the remote object fromamong a plurality of remote objects based on detecting that thecomputing device has the particular spatial positioning relative to theremote object.
 28. The computing device of claim 21, wherein theinteraction with the remote object involves wirelessly receiving datafrom the remote object.
 29. The computing device of claim 21, whereinthe interaction with the remote object involves wirelessly transmittingdata to the remote object.
 30. The computing device of claim 21, whereinthe haptic effect comprises a deformation of the computing device into ashape that indicates at least one aspect of the interaction between thecomputing device and the remote object.
 31. A method comprising:detecting, by a processor of a computing device, that the computingdevice has a particular spatial positioning relative to a remote objectbased on a first sensor signal from a position sensor; determining, bythe processor, that the computing device is to interact with the remoteobject based on detecting that the computing device has the particularspatial positioning relative to the remote object; detecting, by theprocessor, a deformation in a deformable housing of the computing devicebased on a second sensor signal from a deformation sensor; interacting,by the processor, with the remote object in a particular manner that isdependent on the deformation detected in the deformable housing; andgenerating, by the processor, a haptic effect associated with theinteraction between the computing device and the remote object bytransmitting a haptic signal to a haptic output device.
 32. The methodof claim 31, wherein the particular spatial positioning of the computingdevice involves the computing device being within a threshold distancefrom the remote object.
 33. The method of claim 31, wherein theparticular spatial positioning of the computing device includes at leastone of an orientation or a position of the computing device relative tothe remote object, and wherein the particular spatial positioning of thecomputing device involves the computing device being oriented toward theremote object.
 34. The method of claim 31, further comprisingdetermining that the computing device is to interact with the remoteobject at least in part by: selecting the remote object from among aplurality of remote objects based on detecting that the computing devicehas the particular spatial positioning relative to the remote object.35. The method of claim 31, wherein interacting with the remote objectinvolves wirelessly receiving data from the remote object.
 36. Themethod of claim 31, wherein interacting with the remote object involveswirelessly transmitting data to the remote object.
 37. The method ofclaim 31, wherein the haptic effect comprises a deformation of thecomputing device into a shape that indicates at least one aspect of theinteraction between the computing device and the remote object.
 38. Anon-transitory computer-readable medium comprising program code that isexecutable by a processor of a computing device for causing theprocessor to: detect that the computing device has a particular spatialpositioning relative to a remote object based on a first sensor signalfrom a position sensor; determine that the computing device is tointeract with the remote object based on detecting that the computingdevice has the particular spatial positioning relative to the remoteobject; detect a deformation in a deformable housing of the computingdevice based on a second sensor signal from a deformation sensor;interact with the remote object in a particular manner that is dependenton the deformation detected in the deformable housing; and transmit ahaptic signal to a haptic output device, the haptic signal beingconfigured to cause the haptic output device to output a haptic effectassociated with the interaction between the computing device and theremote object.
 39. The non-transitory computer-readable medium of claim38, wherein the particular spatial positioning involves the computingdevice being within a threshold distance from the remote object.
 40. Thenon-transitory computer-readable medium of claim 38, wherein theparticular spatial positioning of the computing device includes at leastone of an orientation or a position of the computing device relative tothe remote object, and wherein the particular spatial positioninginvolves the computing device being oriented toward the remote object.